﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LCA.Community.DAL.Model;

namespace LCA.Community.DAL.Interfaces
{
    /// <summary>
    /// The interface for messages repositories
    /// </summary>
    public interface IMessagesRepository : IBaseRepository<Message>
    {
        void DeleteAllUserMessages(string userID);
        List<Message> GetMessagesSentByUser(string userID);
        List<Message> GetVolunteerHelpRequests(string userID);
        List<Message> GetHelpPoolRequests();
        List<Message> GetInbox(string elementID);
        Message GetJoiningRequestMessage(string groupId, string userId);
        Message GetFriendshipRequestMessage(string userId, string friendId);
        Message GetHelpRequest(string userID, string volunteerID);
        string JoiningRequestSubject { get; }
        string FriendshipRequestSubject { get; }
        string HelpRequestSubject { get; }
    }
}
